/*

参考下列 free-standing clib：

    #include <stddef.h>
    #include <stdint.h>
    #include <stdbool.h>
    #include <float.h>
    #include <limits.h>
    #include <stdarg.h>
    #include <inttypes.h>

*/

#ifndef __type_h_
#define __type_h_

#define __bool_true_false_are_defined 1

#define bool        _Bool
#define false       0
#define true        1

#define null        0
#define nullptr     ((void *)0)

typedef unsigned char 	byte;
typedef unsigned short 	word;

typedef unsigned char	uchar;
typedef unsigned short	ushort;
typedef unsigned int	uint;
typedef unsigned long	ulong;

typedef signed char 	int8;
typedef unsigned char 	uint8;

typedef signed short 	int16;
typedef unsigned short 	uint16;

typedef signed int 		int32;
typedef unsigned int 	uint32;

typedef signed long 	int64;
typedef unsigned long 	uint64;

typedef uint64 pte_t;
typedef uint64 *pagetable_t;

#endif